/*
 @Date: 2022/4/24
 @Desc: 个人页面
 */

import UIKit

class IPMineViewController: UITableViewController {

    private let mDatasource: [(name: String,vc: String?)] = [("会员中心",nil),
                                                             ("隐私政策",nil),("用户协议",nil)]
    override func viewDidLoad() {
        super.viewDidLoad()
        configureUI()
    }
    
    override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
        let header = tableView.dequeueReusableHeaderFooterView(withIdentifier: IPMineHeaderView.reuseId)
        return header
    }
    
    override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        return 130
    }

    override func numberOfSections(in tableView: UITableView) -> Int {
        return 1
    }
    
    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return mDatasource.count
    }
    
    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: IPMineTableViewCell.reuseId, for: indexPath) as! IPMineTableViewCell
        let obj = mDatasource[indexPath.row]
        cell.nameLabel.text = obj.name
        return cell
    }
    
    override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        let obj = mDatasource[indexPath.row]
        if let vc = obj.vc?.ip2Vc() {
            show(vc, sender: nil)
        }
    }
}

private extension IPMineViewController {
    
    func configureUI(){
        registerUI()
        
        tableView.rowHeight = 62
        tableView.separatorStyle = .none
    }
    
    func registerUI(){
        tableView.register(IPMineHeaderView.self, forHeaderFooterViewReuseIdentifier: IPMineHeaderView.reuseId)
        let cellNib = UINib.init(nibName: "IPMineTableViewCell", bundle: .main)
        tableView.register(cellNib, forCellReuseIdentifier: IPMineTableViewCell.reuseId)
    }
    
}
